home *** CD-ROM | disk | FTP | other *** search
/ The Disc - MacWorld 1995 / PowerComputing (The Disc)(MacWorld 1995).ISO / mac / CDFACTOR / HCfactor / HumanCode / HumanCode.DXR / 00054_blitPict parent for MPC.ls < prev    next >
Encoding:
Text File  |  1995-07-14  |  3.2 KB  |  109 lines

  1. property srcrect, POINTER
  2.  
  3. on birth me
  4.   set srcrect to EMPTY
  5.   set POINTER to EMPTY
  6.   return me
  7. end
  8.  
  9. on blitPictInitFile me, fileName, theSrcRect
  10.   set POINTER to blitpict(mnew)
  11.   if paramCount() = 2 then
  12.     POINTER(mInit, fileName, 0, 0, 0, 0, 0)
  13.     set srcrect to string(the result)
  14.   else
  15.     set sL to integer(item 1 of theSrcRect)
  16.     set sT to integer(item 2 of theSrcRect)
  17.     set sR to integer(item 3 of theSrcRect)
  18.     set sB to integer(item 4 of theSrcRect)
  19.     POINTER(mInit, fileName, 0, sL, sT, sR, sB)
  20.     set srcrect to string(the result)
  21.   end if
  22. end
  23.  
  24. on blitPictInitScreen me, screenRect
  25.   set POINTER to blitpict(mnew)
  26.   set sL to integer(item 1 of screenRect)
  27.   set sT to integer(item 2 of screenRect)
  28.   set sR to integer(item 3 of screenRect)
  29.   set sB to integer(item 4 of screenRect)
  30.   POINTER(mInit, EMPTY, 1, sL, sT, sR, sB)
  31.   set srcrect to 0 & "," & 0 & "," & sR - sL & "," & sB - sT
  32. end
  33.  
  34. on blitPictInitObj me, object, theSrcRect
  35.   if paramCount() = 2 then
  36.     POINTER(mInit, object, 2, 0, 0, 0, 0)
  37.     set srcrect to the result
  38.   else
  39.     set sL to integer(item 1 of theSrcRect)
  40.     set sT to integer(item 2 of theSrcRect)
  41.     set sR to integer(item 3 of theSrcRect)
  42.     set sB to integer(item 4 of theSrcRect)
  43.     POINTER(mInit, object, 2, sL, sT, sR, sB)
  44.     set srcrect to string(the result)
  45.   end if
  46. end
  47.  
  48. on blitPictDrawScreen me, theSrcRect, destrect, ink, trans, delay
  49.   if ink = "copy" then
  50.     set ink to 300
  51.   end if
  52.   if trans = 0 then
  53.     set trans to 3
  54.   end if
  55.   set sL to integer(item 1 of theSrcRect)
  56.   set sT to integer(item 2 of theSrcRect)
  57.   set sR to integer(item 3 of theSrcRect)
  58.   set sB to integer(item 4 of theSrcRect)
  59.   set dL to integer(item 1 of destrect)
  60.   set dT to integer(item 2 of destrect)
  61.   set dR to integer(item 3 of destrect)
  62.   set dB to integer(item 4 of destrect)
  63.   POINTER(mDraw, sL, sT, sR, sB, POINTER, dL, dT, dR, dB, ink, trans, delay, 1)
  64. end
  65.  
  66. on blitPictDrawObj me, theSrcRect, object, destrect, ink
  67.   if ink = "copy" then
  68.     set ink to 300
  69.   end if
  70.   set sL to integer(item 1 of theSrcRect)
  71.   set sT to integer(item 2 of theSrcRect)
  72.   set sR to integer(item 3 of theSrcRect)
  73.   set sB to integer(item 4 of theSrcRect)
  74.   set dL to integer(item 1 of destrect)
  75.   set dT to integer(item 2 of destrect)
  76.   set dR to integer(item 3 of destrect)
  77.   set dB to integer(item 4 of destrect)
  78.   POINTER(mDraw, sL, sT, sR, sB, object, dL, dT, dR, dB, ink, 3, 0, 1)
  79. end
  80.  
  81. on blitPictDispose me
  82.   if objectp(POINTER) then
  83.     POINTER(mdispose)
  84.   end if
  85.   set POINTER to EMPTY
  86. end
  87.  
  88. on blitPictDrawFile me, fileName, destrect, ink, trans, delay
  89.   set POINTER to blitpict(mnew)
  90.   POINTER(mInit, fileName, 0, 0, 0, 0, 0)
  91.   set sL to integer(item 1 of the result)
  92.   set sT to integer(item 2 of the result)
  93.   set sR to integer(item 3 of the result)
  94.   set sB to integer(item 4 of the result)
  95.   if ink = "copy" then
  96.     set ink to 300
  97.   end if
  98.   if trans = 0 then
  99.     set trans to 3
  100.   end if
  101.   set dL to integer(item 1 of destrect)
  102.   set dT to integer(item 2 of destrect)
  103.   set dR to integer(item 3 of destrect)
  104.   set dB to integer(item 4 of destrect)
  105.   POINTER(mDraw, sL, sT, sR, sB, POINTER, dL, dT, dR, dB, ink, trans, delay, 1)
  106.   POINTER(mdispose)
  107.   set POINTER to EMPTY
  108. end
  109.